using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("ThreeSliceElement")]
	public class ThreeSliceElement : MonoBehaviour
	{
		public enum PinnedPoint
		{
			LEFT,
			MIDDLE,
			RIGHT,
			TOP,
			BOTTOM
		}

		public enum Direction
		{
			X,
			Y,
			Z
		}

		public GameObject m_left => method_3<GameObject>("m_left");

		public GameObject m_middle => method_3<GameObject>("m_middle");

		public GameObject m_right => method_3<GameObject>("m_right");

		public PinnedPoint m_pinnedPoint => method_2<PinnedPoint>("m_pinnedPoint");

		public Vector3 m_pinnedPointOffset => method_2<Vector3>("m_pinnedPointOffset");

		public Direction m_direction => method_2<Direction>("m_direction");

		public float m_width => method_2<float>("m_width");

		public float m_middleScale => method_2<float>("m_middleScale");

		public Vector3 m_leftOffset => method_2<Vector3>("m_leftOffset");

		public Vector3 m_middleOffset => method_2<Vector3>("m_middleOffset");

		public Vector3 m_rightOffset => method_2<Vector3>("m_rightOffset");

		public Bounds m_initialMiddleBounds => method_2<Bounds>("m_initialMiddleBounds");

		public Vector3 m_initialScale => method_2<Vector3>("m_initialScale");

		public ThreeSliceElement(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ThreeSliceElement(IntPtr address)
			: this(address, "ThreeSliceElement")
		{
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void UpdateDisplay()
		{
			method_8("UpdateDisplay");
		}

		public void SetWidth(float globalWidth)
		{
			method_8("SetWidth", globalWidth);
		}

		public void SetMiddleWidth(float globalWidth)
		{
			method_8("SetMiddleWidth", globalWidth);
		}

		public Vector3 GetMiddleSize()
		{
			return method_11<Vector3>("GetMiddleSize", Array.Empty<object>());
		}

		public Vector3 GetSize()
		{
			return method_10<Vector3>("GetSize", new Class276.Enum20[0], Array.Empty<object>());
		}

		public Vector3 GetSize(bool zIsHeight)
		{
			return method_10<Vector3>("GetSize", new Class276.Enum20[1] { Class276.Enum20.Boolean }, new object[1] { zIsHeight });
		}

		public void SetInitialValues()
		{
			method_8("SetInitialValues");
		}
	}
}
